$(document).ready(function () {
    getCartSelectedMerList();
});
//初始化购物车列表
function getCartSelectedMerList() {
    //其他初始化
    let obj=new Object();
    obj.m="list";
    //初始化商品类型
    $.ajax({
        //请求方式 同步false 异步true
        async:true,
        //Ajax请求设置xhrField的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求方式
        type:"POST",
        //请求地址
        url:basePath+"/api/auth/shopCar",
        //返回值类型
        data:obj,
        dataType:"json",
        //成功之后的回调函数
        success:function (result) {
            console.log(result);
            if(result.code==200){
                initView(result.data);
            }

        },
        //请求失败，包含具体的错误信息
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
}
//初始化页面
function initView(result) {
    console.log(".........购物车页面初始化成功.........");
    //一开始先初始化让下一步隐藏
    $("#nextShopButton").hide();
    $("table").html("");
    //设计表头
    let tr_header=$("<tr></tr>").addClass("bg");
    let tr_header_th1=$("<th></th>").text("商品名称");
    let tr_header_th2=$("<th></th>").text("市场价");
    let tr_header_th3=$("<th></th>").text("会员价");
    let tr_header_th4=$("<th></th>").text("数量");
    let tr_header_th5=$("<th></th>").text("金额");
    let tr_header_th6=$("<th></th>").text("删除");
    //内容加入到头部里
    tr_header.append(tr_header_th1,tr_header_th2,tr_header_th3,tr_header_th4,tr_header_th5,tr_header_th6);
    //头部内容加入表中
    $("table").append(tr_header);
    let totalMoney = 0;
    console.log(result);
    $.each(result,function(index,element) {
        let tr=$("<tr></tr>");
        let td1=$("<td></td>").html("<a class=\"font_red\" href=\"javascript:goMerDetail("+element.merchandise+")\">"+element.merName+"</a>");
        let td2=$("<td></td>").html("￥ "+element.merPrice);
        let td3=$("<td></td>").html("￥ "+element.price);
        let td4=$("<td></td>");
        let td4_input = $("<input>");

        //对输入框进行加事件
        td4_input.attr("oninput","value=value.replace(/^(0+)|[^\\d]+/g,'')");
        //失去鼠标焦点并且内容为空时
        td4_input.blur(function () {
            if($(this).val()==''){
                $(this).val(element.number);
            }
            let num=$(this).val();
            if(num!=element.number){
                //修改数量   这里的方法是可以单独封装到外面的
                let obj=new Object();
                obj.m="updateNum";
                obj.id=element.id;
                obj.num=num;
                //初始化商品类型
                $.ajax({
                    //请求方式 同步false 异步true
                    async:true,
                    //Ajax请求设置xhrField的withCredentials为true实现跨域访问
                    xhrFields:{
                        withCredentials:true
                    },
                    //请求方式
                    type:"POST",
                    //请求地址
                    url:basePath+"/api/auth/shopCar",
                    //返回值类型
                    data:obj,
                    dataType:"json",
                    //成功之后的回调函数
                    success:function (result) {
                        console.log(result);
                        if(result.code==200){
                            getCartSelectedMerList();//初始化页面
                        }

                    },
                    //请求失败，包含具体的错误信息
                    error:function (e) {
                        console.log(e.status);
                        console.log(e.responseText);
                    }
                });

            }

        })
        td4_input.attr("value",element.number);
        td4_input.attr("name","num");
        td4.append(td4_input);


        let td5=$("<td></td>").html("￥ "+element.money);
        let td6=$("<td></td>");
        let td6_img=$("<img>").attr("src","/resources/images/delete_01.gif");
        /*        td6_img.click(delMerItem);//点击事件*/
        td6_img.bind("click",element.id,delMerItem)
        td6.append(td6_img);
        //加入tr
        tr.append(td1,td2,td3,td4,td5,td6);
        //把tr加到table里
        $("table").append(tr);
        totalMoney+=element.money;
    })
    //加一个尾部
    let tr_footer=$("<tr></tr>").addClass("bg totalTr");
    let tr_footer_td=$("<td></td>").attr("colspan","6");
    let tr_footer_td_html="<div class=\"totalBill\">"+
        "<img src='/resources/images/me03.gif'>"+
        "<span>总金额：￥"+totalMoney+"（不包含配送费用）</span>"+
        "</div>"
    tr_footer_td.html(tr_footer_td_html);
    tr_footer.append(tr_footer_td);
    $("table").append(tr_footer);
    //登录下一步按钮
    if(totalMoney>0){
        $("#nextShopButton").show();
    }
}
/*
* 再使用bind的时候，传过来的是一个对象，所以得用 event。date来去获取值
* */
function delMerItem(event) {
    let mid=event.data;
    console.log("删除的商品信息的id"+mid);
    let obj=new Object();
    obj.m="delete";
    obj.id=mid;
    //初始化商品类型
    $.ajax({
        //请求方式 同步false 异步true
        async:true,
        //Ajax请求设置xhrField的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求方式
        type:"POST",
        //请求地址
        url:basePath+"/api/auth/shopCar",
        //返回值类型
        data:obj,
        dataType:"json",
        //成功之后的回调函数
        success:function (result) {
            console.log(result);
            if(result.code==200){
                getCartSelectedMerList();//初始化页面
            }

        },
        //请求失败，包含具体的错误信息
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
}
function goMerDetail(mid) {
    console.log("查看商品信息的id"+mid);
}
/*
* 清空购物车
* */
function clearShopCar() {
    let obj=new Object();
    obj.m="clear";
    //初始化商品类型
    $.ajax({
        //请求方式 同步false 异步true
        async:true,
        //Ajax请求设置xhrField的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求方式
        type:"POST",
        //请求地址
        url:basePath+"/api/auth/shopCar",
        //返回值类型
        data:obj,
        dataType:"json",
        //成功之后的回调函数
        success:function (result) {
            console.log(result);
            if(result.code==200){
                getCartSelectedMerList();//初始化页面
            }

        },
        //请求失败，包含具体的错误信息
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });

}